﻿using System;
using WpfAdvControls.Component;

namespace TfsComLib.TfsBranchLib2
{
    /// <summary>
    ///     Интерфейс контекста BranchedHistory
    /// </summary>
    public interface IBranchedHistory : IMinComponent
    {
        /// <summary>
        ///     Список веток, выбранные ветки
        /// </summary>
        ISelectedBranchesCache SelectedBranchesCache { get; set; }


        IRecentBranchSets RecentBranchSets { get; set; }

        /// <summary>
        ///     Query type
        /// </summary>
        BranchedHistoryQueryType QueryType { get; set; }

        /// <summary>
        ///     Фильтр в ветке
        /// </summary>
        ISourceControlFilter SourceControlFilter { get; set; }


        /// <summary>
        ///     Server Path where Query type = single
        /// </summary>
        string SinglePath { get; set; }

        /// <summary>
        ///     Path with in branches
        /// </summary>
        string PathWithinBranches { get; set; }

        BranchedHistoryQueryType QueryTypeResults { get; set; }


        event EventHandler OnProcessCanceled;
        event EventHandler OnProcessStarted;
        event EventHandler OnProcessCompleted;
    }
}